1. Field of the Invention
The present invention relates to an apparatus and a method for distributing data over a wired or wireless network.
2. Description of the Related Art
In recent years, a technology for distributing streaming multi-media data, such as moving image data and audio data, using an IP network and allowing a user to view the streaming multi-media data has been developed.
In particular, in order to distribute real-time multimedia data, such as live video, a communication protocol called a transport protocol for real-time application (RTP) is widely used.
RTP is a protocol used for transferring data (primarily, audio data and a moving image) in real time. RTP is defined as RFC3550 by IETF (Internet Engineering Task Force).
RTP is a higher-layer protocol of UDP (user datagram protocol) which is a connectionless protocol. A communication process using RTP is relatively simple. Accordingly, the communication speed could be increased. However, a communication error is not recovered. Thus, if a packet is lost in a communication path, data reconstruction in a receiving apparatus may be interrupted.
In order to avoid a communication error when data is transmitted using RTP, FEC (forward error correction) has been developed. In FEC, data for recovery (FEC data) is generated using an error correction encoding technology, and a receiving apparatus corrects an error occurring in communication data using the FEC data.
Among existing techniques, a technique in which a data transmitting apparatus transmits a plurality of FEC streams at different redundancy levels together with a media stream and a data receiving apparatus recovers lost media data using one or more of the FEC streams (refer to, for example, Japanese Patent No. 4532505) has been developed. The data receiving apparatus recovers a lost media packet using an FEC packet selected on the basis of the sequence number included in each of the media packets.
However, in multicast distribution, in some cases, a receiving apparatus that receives distributed data may not use the redundancy data suitable for the receiving apparatus.
For example, when a plurality of redundancy data items having different redundancy levels are distributed via multicast and if the receiving apparatus that receives distributed data cannot determine which redundancy data item should be received using, for example, an error rate, the receiving apparatus may not use the redundancy data item suitable for the receiving apparatus.
In addition, for example, if the receiving apparatuses employ different FEC data generation techniques, one of the receiving apparatus that receives multicast distribution data may not use redundancy data corresponding to the FEC data generation technique thereof.